SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [spNotas]


@cursada int,
@tipocalificacion int,
@periodo int,
@notas int,
@centesimas int = null,

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion
@ABM int
AS

--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end


if exists (Select * from tb_notas where cursada = @cursada and periodo = @periodo) begin
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_notas (cursada,tipocalificacion,periodo,notas,Centesimas)
VALUES (@cursada,@tipocalificacion,@periodo,@notas,@Centesimas)
declare @idnota int 
Select @idnota =  @@identity


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRANSACTION
end

if @ABM = 3 begin
BEGIN TRANSACTION
UPDATE tb_Notas
SET cursada = @cursada,tipocalificacion = @tipocalificacion,periodo = @periodo,notas = @notas,centesimas = @Centesimas
where cursada = @cursada and periodo = @periodo

if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_Notas FROM  tb_notas WHERE   cursada = @cursada and periodo = @periodo

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end
GO
